/*
 * Exploder
 * 
 * Tero Pyylampi (218437), Jussi Tuurinkoski (211594)
 *
 * All the textures, sounds, levels etc. external resources used in the game
 */

#ifndef RESOURCES_H
#define RESOURCES_H

// every resource must be called using this function
char *getResource( char *resource );

// fonts
namespace Fonts {
	extern char *FONT_NORMAL;
};

// textures
namespace Textures {
	// generic background
	extern char *GAME_BACKGROUND;

	// splash scene textures
	extern char *LOADING_UNIT;
	extern char *LOADING_ICON;

	// menu related textures
	extern char *MENU_BACKGROUND;
	extern char *MENU_UNIT;
	extern char *MENU_UNIT_WIN;
	extern char *MENU_UNIT_LOSE;
	
	// menu buttons
	extern char *MENU_BUTTON_CLOSE;
	extern char *MENU_BUTTON_CLOSE_SELECTED;
	// level button
	extern char *MENU_LEVEL_BUTTON;
	extern char *MENU_LEVEL_BUTTON_SELECTED;
	extern char *MENU_LEVEL_LOCK;

	// dialog background
	extern char *MENU_BACKGROUND_NOTEBOARD;

	// miscellancelous textures
	extern char *GAME_INTERFACE_BACKGROUND;
	extern char *GAME_MISC_CARTOONFIRE;
	extern char *GAME_MISC_SPLINTER;
	extern char *GAME_MISC_INVISIBLE;
	extern char *GAME_MISC_DUST;
	extern char *GAME_MISC_SPARKLE;
	extern char *GAME_MISC_CLOUD1;
	extern char *GAME_MISC_CLOUD2;
	extern char *GAME_MISC_CLOUD3;

	// interface related
	extern char *GAME_INTERFACE_EXIT;
	extern char *GAME_INTERFACE_EXIT_PRESSED;
	extern char *GAME_INTERFACE_HELP;
	extern char *GAME_INTERFACE_HELP_PRESSED;
	extern char *GAME_INTERFACE_ROTATE;
	extern char *GAME_INTERFACE_ROTATE_PRESSED;
	extern char *GAME_INTERFACE_STATE_NEUTRAL;
	extern char *GAME_INTERFACE_STATE_MOVABLE;
	extern char *GAME_INTERFACE_STATE_IMMOVABLE;
	extern char *GAME_INTERFACE_BUTTON_BACKGROUND;

	// game ground objects
	extern char *GAME_GROUND_GRASS;
	extern char *GAME_GROUND_CONCRETE;
	extern char *GAME_GROUND_DIRT;

	// game elements
	extern char *GAME_ELEMENT_WOOD;
	extern char *GAME_ELEMENT_WOOD_BROKEN;
	extern char *GAME_ELEMENT_WOOD_PART_A;
	extern char *GAME_ELEMENT_WOOD_PART_B;
	extern char *GAME_ELEMENT_STEEL;
	extern char *GAME_ELEMENT_STEEL_BROKEN;
	extern char *GAME_ELEMENT_STEEL_PART_A;
	extern char *GAME_ELEMENT_STEEL_PART_B;
	extern char *GAME_ELEMENT_STEEL_BAR;
	extern char *GAME_ELEMENT_STEEL_BAR_BROKEN;
	extern char *GAME_ELEMENT_STEEL_BAR_PART_A;
	extern char *GAME_ELEMENT_STEEL_BAR_PART_B;
	extern char *GAME_ELEMENT_STEEL_BAR_PART_C;

	// game bombs
	extern char *GAME_BOMB_SMALLMINE_A;
	extern char *GAME_BOMB_SMALLMINE_B;
	extern char *GAME_BOMB_MEDIUM;

	// game borders
	extern char *GAME_BORDER_WOOD;
	extern char *GAME_BORDER_WOOD_BROKEN;
	extern char *GAME_BORDER_WOOD_ICON;
}


// levels
namespace Levels {
	extern char *LEVEL[ 11 ];
}

// sounds
namespace Sounds {
	// TODO
}

#endif